package com.zp.self.module.level_4_算法练习.数据结构.String;

import java.util.ArrayList;
import java.util.List;

/**
 * @author By ZengPeng
 */
public class 力扣_412_FizzBuzz {
    //测试
    public static void main(String[] args) {

        System.out.println(new 力扣_412_FizzBuzz().fizzBuzz(3));
        System.out.println(new 力扣_412_FizzBuzz().fizzBuzz(5));
        System.out.println(new 力扣_412_FizzBuzz().fizzBuzz(15));
        System.out.println(new 力扣_412_FizzBuzz().fizzBuzz(16));
    }

    /**
     * 题目：给你一个整数 n ，找出从 1 到 n 各个整数的 Fizz Buzz 表示，
     * 并用字符串数组 answer（下标从 1 开始）返回结果，其中：
     * answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。
     * answer[i] == "Fizz" 如果 i 是 3 的倍数。
     * answer[i] == "Buzz" 如果 i 是 5 的倍数。
     * answer[i] == i （以字符串形式）如果上述条件全不满足。
     *  
     * 示例 1：
     * 输入：n = 3
     * 输出：["1","2","Fizz"]
     *
     * 分析：
     *      1.简单取余，无话可说
     *
     * 边界值 & 注意点：
     *      1.
     **/
    public List<String> fizzBuzz(int n) {
        List<String> res = new ArrayList<>(n);
        boolean yu3,yu5;
        for (int i = 1; i <= n; i++) {
            yu3 = i%3==0;
            yu5 = i%5==0;
                if(yu3 && yu5){
                    res.add("FizzBuzz"); continue;
                }
                if(yu3) {
                    res.add("Fizz");continue;
                }
                if(yu5){
                    res.add("Buzz");continue;
                }
            res.add(String.valueOf(i));
        }
        return res;
    }
}
